<?php
if ($_REQUEST[logar] == '1') {
    include 'functions.php';
}
include 'connect.php';
session_start();

function acentos_painel($texto) {
    ///////  LETRA  A
    $texto = str_replace("à", "&agrave;", $texto);
    $texto = str_replace("À", "&Agrave;", $texto);
    $texto = str_replace("á", "&aacute;", $texto);
    $texto = str_replace("Á", "&Aacute;", $texto);
    $texto = str_replace("â", "&acirc;", $texto);
    $texto = str_replace("Â", "&Acirc;", $texto);
    $texto = str_replace("ã", "&atilde;", $texto);
    $texto = str_replace("Ã", "&Atilde;", $texto);
    ///////  LETRA  E
    $texto = str_replace("è", "&egrave;", $texto);
    $texto = str_replace("È", "&Egrave;", $texto);
    $texto = str_replace("é", "&eacute;", $texto);
    $texto = str_replace("É", "&Eacute;", $texto);
    $texto = str_replace("ê", "&ecirc;", $texto);
    $texto = str_replace("Ê", "&Ecirc;", $texto);
    $texto = str_replace("ẽ", "&etilde;", $texto);
    $texto = str_replace("Ẽ", "&Etilde;", $texto);
    ///////  LETRA  I
    $texto = str_replace("ì", "&igrave;", $texto);
    $texto = str_replace("Ì", "&Igrave;", $texto);
    $texto = str_replace("í", "&iacute;", $texto);
    $texto = str_replace("Í", "&Iacute;", $texto);
    $texto = str_replace("î", "&icirc;", $texto);
    $texto = str_replace("Î", "&Icirc;", $texto);
    $texto = str_replace("ĩ", "&itilde;", $texto);
    $texto = str_replace("Ĩ", "&Itilde;", $texto);
    ///////  LETRA  O
    $texto = str_replace("ò", "&ograve;", $texto);
    $texto = str_replace("Ò", "&Ograve;", $texto);
    $texto = str_replace("ó", "&oacute;", $texto);
    $texto = str_replace("Ó", "&Oacute;", $texto);
    $texto = str_replace("ô", "&ocirc;", $texto);
    $texto = str_replace("Ô", "&Ocirc;", $texto);
    $texto = str_replace("õ", "&otilde;", $texto);
    $texto = str_replace("Õ", "&Otilde;", $texto);
    ///////  LETRA  U
    $texto = str_replace("ù", "&ugrave;", $texto);
    $texto = str_replace("Ù", "&Ugrave;", $texto);
    $texto = str_replace("ú", "&uacute;", $texto);
    $texto = str_replace("Ú", "&Uacute;", $texto);
    $texto = str_replace("û", "&ucirc;", $texto);
    $texto = str_replace("Û", "&Ucirc;", $texto);
    $texto = str_replace("ũ", "&utilde;", $texto);
    $texto = str_replace("Ũ", "&Utilde;", $texto);
    ///////  LETRA  C
    $texto = str_replace("ç", "&ccedil;", $texto);
    $texto = str_replace("Ç", "&Ccedil;", $texto);
    return $texto;
}

function remove_acentos_painel($var) {
    $var = str_replace("§", "c", $var);
    $var = str_replace("ç", "c", $var);
    $var = str_replace("Ç", "c", $var);
    $var = str_replace("&Ccedil;", "c", $var);
    $var = strtolower($var);
    $var = ereg_replace("[áàâãª]", "a", $var);
    $var = ereg_replace("[éèê]", "e", $var);
    $var = ereg_replace("[óòôõº]", "o", $var);
    $var = ereg_replace("[úùû]", "u", $var);

    return $var;
}

if ($_REQUEST[logar] == '1') {
//    include 'functions.php';
    $permissao_atual = substr(sprintf('%o', fileperms($file)), -4);
    $inc_folder = str_replace("home.php", "", substr($_SERVER[PHP_SELF], 1));
    $fp = fopen("logado.php", "w");
    $escreve = fwrite($fp, "<?php
@include_once 'inc/painel.php';");
    fclose($fp);
    $fp = fopen("load_modules.php", "w");
    $escreve = fwrite($fp, "<?
         //   @include 'config.php';
         //   @include 'functions.php';");
    fclose($fp);
    $ponteiro = opendir('../modules/admin');

// monta os vetores com os itens encontrados na pasta
    while ($nome_itens = readdir($ponteiro)) {
        $itens[] = $nome_itens;
    }

// ordena o vetor de itens
    //   $itens_copy=$itens;
    //   $itens="";
    //  foreach ($itens_copy as $key => $value) {
    //echo $key."-".$value."<br/>";
    //   $itens[$value]=$value; 
    //echo str_replace(".php", "", $value)."<br/>";
    //    $val = eval ($value);
    ///echo $val;
    // }
    //print_r($itens);
    sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas 
    foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
        if ($listar != "." && $listar != "..") {
// retira "error_log" para que retorne apenas os modulos e mantenha o arquivo do LOG ERRO
            if ($listar != "error_log") {
// checa se o tipo de arquivo encontrado é uma pasta
                if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
                    $pastas[] = $listar;
                } else {
// caso FALSO adiciona o item à variável de arquivos
                    $arquivos[] = $listar;
                }
            }
        }
    }
    $array = str_replace("#", "$", "
        ");
    $fp = fopen("permissoes/array.php", "w");
    $escreve = fwrite($fp, "$array");
    $fp = fopen("permissoes/query.php", "w");
    $escreve = fwrite($fp, "
        ");
    $fp = fopen("permissoes/form.php", "w");
    $escreve = fwrite($fp, '<?
        echo"');

    foreach ($arquivos as $key => $modulo) {
        $modulo = utf8_encode($modulo);
        $permissao = remove_acentos_painel(substr($modulo, 0, -4));
        $permissao_nome = "permissao_" . substr($permissao, 3);
        $permissao_nome_adm = "adm_permissao_" . substr($permissao, 3);
        $funcao = remove_acentos_painel(substr(substr($modulo, 3), 0, -4));
        $nome = remove_acentos_painel(substr(substr($modulo, 3), 0, -4));
        $titulo = acentos_painel(ucwords(substr($modulo, 0, -4)));
        $select_permissoes = mysql_db_query(db, "SELECT * FROM permissoes WHERE nome='" . $permissao_nome . "' OR nome='" . $permissao_nome_adm . "'");
        if (@mysql_num_rows($select_permissoes) <= 0) {
            mysql_db_query(db, 'INSERT INTO permissoes VALUES ("", "' . $permissao_nome . '", "' . $permissao_nome . '");');
            mysql_db_query(db, 'INSERT INTO permissoes VALUES ("", "' . $permissao_nome_adm . '", "' . $permissao_nome_adm . '");');
            mysql_db_query(db, 'INSERT INTO permissao_users VALUES ("", "' . user_admin . '", "' . $permissao_nome_adm . '");');
        }
        $query_permissoes_do_user = mysql_db_query(db, "SELECT * FROM permissao_users
        WHERE username='" . $_SESSION[user] . "'");
        define("permissao_$nome", "permissao_$nome"); /////* C
        //echo $permissao_nome . "<br>";
        while ($permissoes_query_result = mysql_fetch_row($query_permissoes_do_user)) {
            $permissoes = $permissoes_query_result[2];
            if ($permissoes == $permissao_nome_adm || $permissoes == $permissao_nome || $_SESSION[user] == user_admin || $permissoes == permissao_admin) {
                $posicao = substr($titulo, 0, 3);
                $nome_titulo = ucwords(substr($titulo, 3));
                $_SESSION[menu][$posicao][nome] = $nome_titulo;
                //$_SESSION[menu][$key][href] = "?module=admin/" . $funcao . "&editar_usuario=1&venda=aberta";
                $_SESSION[menu][$posicao][funcao] = $funcao;
            }
        }

        // "a" representa que o arquivo é aberto para ser escrito
        $fp = fopen("logado.php", "a");
// Escreve "include" no inc/logado.php
        $escreve = fwrite($fp, "
        if (" . '$_REQUEST[module]' . " == 'admin/" . $funcao . "') {
                include 'modules/admin/" . utf8_decode($modulo) . "';
}
");
// Fecha o arquivo
        fclose($fp);
        /////////////////////////////
        define($permissao_nome, $permissao_nome);
        define($permissao_nome_adm, $permissao_nome_adm);
        ////////////////////////////////
        /// ARRAY
//        user
        $array_to_replace = '<?if (@in_array(' . $permissao_nome . ', #permissoes)) {
            #_SESSION[permissoes][' . $nome . '] = 1;
        }?>';
//        adm
        $array_to_replace .= '<?if (@in_array(' . $permissao_nome_adm . ', #permissoes)) {
            #_SESSION[permissoes][adm_' . $nome . '] = 1;
        }?>';
        $array = str_replace("#", "$", $array_to_replace);
        $fp = fopen("permissoes/array.php", "a");
        $escreve = fwrite($fp, "$array");
        fclose($fp);
        ////////// LOAD MODULES
        ///
        //
        $fp = fopen("load_modules.php", "a");
        $escreve = fwrite($fp, "
            include_once 'modules/submenu/" . utf8_decode($modulo) . "';");
        fclose($fp);
        /////////////////////////////
        /// QUERY
        //
//        user
        $array_to_replace = '<? $query_verifica = mysql_db_query(db, "SELECT * FROM permissao_users 
        WHERE username=' . '+#usuario+' . ' AND permissao=+' . $permissao_nome . '+");
    if (mysql_num_rows($query_verifica) == 0) {
        if ($_REQUEST[salvar] == 1 && $_REQUEST[' . $nome . '] == "1" && !@in_array(' . $permissao_nome . ', $permissoes)) {
            $query_permisso_add = mysql_db_query(db, "INSERT INTO permissao_users
        VALUES (++, +#usuario+,  +' . $permissao_nome . '+)");
            if ($query_permisso_add) {
                alerta("Permiss&atilde;o ' . ucwords($nome_titulo) . ' usuário adicionada com sucesso!", "add_' . $permissao_nome . '", "verde");
            }
        }
    }
    if ($_REQUEST[' . $nome . '] != "1" && $_REQUEST[salvar] == 1) {
        @$query_permisso_remove = mysql_db_query(db, "DELETE FROM permissao_users WHERE 
            permissao=+' . $permissao_nome . '+ AND username=+#usuario+");
        if (@$query_permisso_remove) {
            $continue_' . $nome . ' = 0;
        }
    }
    if ($continue_' . $nome . ' == 0 && $_REQUEST[salvar] == 1 && $_REQUEST[' . $nome . '] != 1 && $_SESSION[permissoes][' . $nome . '] == 1) {
           if($_REQUEST[alerta]!="sim"){  echo"<script>validNavigation = true;window.open(+".$_SERVER[+REQUEST_URI+]."&alerta=sim+,+_self+);</script>";}
                   if($_REQUEST[alerta]=="sim"){
alerta("Permiss&atilde;o ' . ucwords($nome_titulo) . ' usuário removida com sucesso!", "remove_' . $permissao_nome . '", "vermelho");
        $_SESSION[permissoes][' . $nome . '] = "";
    }}
    ?>';
//        adm
        $array_to_replace .= '<? $query_verifica = mysql_db_query(db, "SELECT * FROM permissao_users 
        WHERE username=' . '+#usuario+' . ' AND permissao=+' . $permissao_nome_adm . '+");
    if (mysql_num_rows($query_verifica) == 0) {
        if ($_REQUEST[salvar] == 1 && $_REQUEST[adm_' . $nome . '] == "1" && !@in_array(' . $permissao_nome_adm . ', $permissoes)) {
            $query_permisso_add = mysql_db_query(db, "INSERT INTO permissao_users
        VALUES (++, +#usuario+,  +' . $permissao_nome_adm . '+)");
            if ($query_permisso_add) {
                alerta("Permiss&atilde;o ' . ucwords($nome_titulo) . ' administrador adicionada com sucesso!", "add_' . $permissao_nome_adm . '", "verde");
            }
        }
    }
    if ($_REQUEST[adm_' . $nome . '] != "1" && $_REQUEST[salvar] == 1) {
        @$query_permisso_remove = mysql_db_query(db, "DELETE FROM permissao_users WHERE 
            permissao=+' . $permissao_nome_adm . '+ AND username=+#usuario+");
        if (@$query_permisso_remove) {
            $continue_' . $nome . ' = 0;
        }
    }
    if ($continue_' . $nome . ' == 0 && $_REQUEST[salvar] == 1 && $_REQUEST[adm_' . $nome . '] != 1 && $_SESSION[permissoes][adm_' . $nome . '] == 1) {
           if($_REQUEST[alerta]!="sim"){  echo"<script>validNavigation = true;window.open(+".$_SERVER[+REQUEST_URI+]."&alerta=sim+,+_self+);</script>";}
                   if($_REQUEST[alerta]=="sim"){
alerta("Permiss&atilde;o ' . ucwords($nome_titulo) . ' administrador removida com sucesso!", "remove_' . $permissao_nome_adm . '", "vermelho");
        $_SESSION[permissoes][adm_' . $nome . '] = "";
    }}
    ?>';
        ///
        $array1 = str_replace("#", "$", $array_to_replace);
        $array = str_replace("+", "'", $array1);
        $fp = fopen("permissoes/query.php", "a");
        $escreve = fwrite($fp, "$array");
        fclose($fp);
        /// FORM
        if ($nome_titulo_anterior != $nome_titulo) {
            $fp = fopen("permissoes/form.php", "a");
            $array_to_replace = "<tr class='linha1'>
        <td>" . $nome_titulo . ":</td>
        <td><input type='checkbox' name='" . $funcao . "' value='1' +.(@in_array(" . $permissao_nome . ", #permissoes) ? 'CHECKED' : #_REQUEST[" . $funcao . "]==1? 'CHECKED' : '') .+></td>
        <td><input type='checkbox' name='adm_" . $funcao . "' value='1' +.(@in_array(" . $permissao_nome_adm . ", #permissoes) ? 'CHECKED' : #_REQUEST[adm_" . $funcao . "]==1? 'CHECKED' : '') .+></td>
        </tr>";
            $array1 = str_replace("#", "$", $array_to_replace);
            $array = str_replace("+", '"', $array1);
            $escreve = fwrite($fp, $array);
            fclose($fp);
        }
        // submenu($_SESSION[submenu][$modulo]);
        $nome_titulo_anterior = $nome_titulo;
    }
    $fp = fopen("permissoes/form.php", "a");
    $escreve = fwrite($fp, '";?>');
    echo "<script> validNavigation = true;window.open('../home.php','_self');</script>";
//    $fp = fopen("load_modules.php", "a");
//    $escreve = fwrite($fp, '<script> validNavigation = true;window.open("../home.php","_self");</script>');
}
?>
